目次
RPAでクローリング・スクレイピングを行っている事例は実はたくさんありますが、ほとんど公開されていません。今回はRPAによるクローリング・スクレイピングについて、これまでの実体験を通じ、効果、難易度、注意すべきポイントについて解説いたします。
1.クローリングって?スクレイピングって?
クローリングとはWebサイトを巡回し、情報を収集する事です。例えば、特定の商品を検索条件として表示された情報を収集するといった内容ですね。また、この情報から商品の詳細や価格情報など必要な部分を取り出す事をスクレイピングと言います。RPAではクローリングとスクレイピングは大体の場合はセットで組みますので、クローリングやスクレイピングといった話が出たらWebから必要な情報を使える形で取得することだと認識してOKです。
なお、本稿は“RPA”が主題ですので上記の例にも挙げたようにマーケティングのために必要な情報を取得し、分析ツールに連携するケースを想定して書いています。
ところで、クローリングってどれくらいの企業で実施しているのでしょうか?グーグルで検索しても具体的な企業名が出た事例はほとんど見つけられません。新鮮なデータは競争力の源泉でもありますし、通常は営業秘密になっています。取引先のWebサイトから新着情報を取得しているといった使い方だとしてもなかなか公開はしません。そのためWebクローリングの事例はなかなか見つからないのですが、実はものすごく導入効果が高い分野です。情報は多いほど役に立ちます。ですので、RPA導入時にお話しを伺うと、必ず「もっと情報収集したいがそこまでの時間が無い」と言われます。これまで、私が直接お話を伺った方に限ると全員がそうおっしゃいました。
情報を活かすメリットを除いても、RPAで自動化後の作業を全て人手で行った場合のコストを考えただけでかなりのメリットが生まれています。
2.RPAによるクローリングとスクレイピング
RPAでクローリング・スクレイピングを開発する難易度は結構高いです。感覚値ですが、5段形でいうと4段階の難易度はあります。RPAはプログラムの知識が無くても大丈夫と言われますが、ことクローリング・スクレイピングに関してはプログラムの知識が欲しいです。先ほど情報は多いほど役に立つと言いましたが、多くの情報を取得する場合、複雑な条件設定が必要になります。欲しい情報と関連した属性情報の組み合わせによる対象情報の絞り込みや、取得した情報の二次加工なども必要になります。そして、複数個所から情報取得しようとするのですが、その条件も考えなければなりません。また、多量のデータ取得=多量のRPA実行となりますのでエラー発生の頻度も上がります。
そのため、単純にシナリオを作成するだけでなく、条件を設定するためのマスタを整備し、データ加工についても自動化し、エラーが発生した場合は途中から再実行するなどの対策が必要となります。
そして、メンテナンスも考えておく必要があります。対象のWebサイトももちろん変化しますし、必要な情報も変化します。ここをきちんと設計しておかないと運用で破綻してしまいます。スキルのある方がいる場合は良いですが、そうでなければプロに相談する事をオススメします。
3.クローリングの注意点
クローリングが許可されていない場合、クローリングを行う事はできません。Amazon等利用規約で禁止されているWebサイトがあります。規約はよく確認をしましょう。
Amazon.co.jp ヘルプ: Amazon.co.jp 利用規約
それからこういう画像、よく見ますよね。
他にも、規約には無いがRPAで自動化しようとするとエラーを返すWebサイトもあります。これらのサイトについては、全ては無理でもRPAで自動化する事はできるかもしれません。しかし、”禁止”されていますのでクローリング・スクレイピングは止めておきましょう(仮に出来たとしても、すぐにサイトが修正されてしまいます)。
では、どうすれば良いか?API等が公開されている場合がありますのでまずは確認してみてください。APIの範囲であれば自動化は可能です。
4.まとめ
・クローリングとはWebサイトを巡回し、情報を収集する事。
・そこから必要な部分を取り出す事をスクレイピングという。
・RPAによるクローリングとスクレイピングは効果が大きいが難易度も高い。
・クローリングが出来ない、やってはいけない場合もあるので事前確認が必要。